using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity.ModelConfiguration;
using CodeSaude.Domain.Entities;

namespace CodeSaude.Infrastructure.Data.EntityConfig
{
    public class ModuloMap : EntityTypeConfiguration<Modulo>
    {
        public ModuloMap()
        {
            // Primary Key
            HasKey(t => t.ModuloId);

            // Properties
            Property(t => t.ModuloId)
                .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);

            Property(t => t.NomeModulo)
                .IsRequired()
                .HasMaxLength(90);

            // Table & Column Mappings
            ToTable("modulo");
            Property(t => t.ModuloId).HasColumnName("id_modulo");
            Property(t => t.NomeModulo).HasColumnName("nome_modulo");
            Property(t => t.IdSituacao).HasColumnName("id_situacao");
        }
    }
}
